<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>子类继承父类方法同时扩展自己方法</title>
</head>
<body>
  <script>
    // 父类有加法方法
    class Father2 {
      constructor (x, y) {
        this.x = x
        this.y = y
      }

      sum () {
        console.log(this.x + this.y)
      }
    }

    // 子类继承父类加法方法 同时 扩展减法方法
    class Son extends Father2 {
      constructor (x, y) {
        // 利用super 调用父类的构造函数
        // super 必须在子类this之前调用
        super(x, y)
        this.x = x
        this.y = y
      }

      subtract () {
        console.log(this.x - this.y)
      }
    }

    var son = new Son(5, 3)
    son.subtract()
    son.sum()
  </script>
</body>
</html>